home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 019a / amac40.zip / FILE25.QM < prev    next >
Text File  |  1991-07-10  |  59KB  |  1,276 lines

  1. *                                   (FILE25).QM                 July 10, 1991
  2. *                             Written by Tom Hogshead
  3. *               With Macro Contributions By Richard Blackburn
  4. * ┌───────────────────────── (INDEX) FileManager Macros ─────────────────────┐
  5. * │
  6. * │@(9)     EDIT file from "RingList"                                   <chg
  7. * │@(0)     EDIT file from "RingList" if new files have been loaded     <chg
  8. * │
  9. * │@(7)     LOAD all files in "Ring"                                    <chg
  10. * │@(1)     LOAD file from sorted list
  11. * │@(4)     LOAD file from "PickList", wild cards OK
  12. * │@(5)     LOAD file whose name is at the cursor
  13. * │
  14. * │@(6)     re-LOAD current file from disk copy
  15. * │
  16. * │@(3)     DELETE file from sorted list
  17. * │
  18. * │@(2)     READ macfile & LOAD it's txtfile from sorted list
  19. * │
  20. * │@(8)     READ macfile of txtfile that is loaded
  21. * │
  22. * │@(F7)    READ macfile & LOAD it's txtfile from txtfile list
  23. * │
  24. * │@(F8)    READ macfile from macfile list, txtfile is not loaded
  25. * │
  26. * │@(F1)    SAVE file with name "Mos_Day_Hour_Min.Ext"
  27. * │
  28. * │@(F2)    SAVE file with name "CurrentFileName.Mos_Day"
  29. * │
  30. * │@(F3)    SAVE Read-Only files
  31. * │
  32. * │@(F4)    EXECUTE Dos command from List
  33. * │@(F5)    EXECUTE Dos command from List/ with CurrentFileName
  34. * │
  35. * │@(F6)    Makes a DIR list of filenames in conventional "8.3" format, <chg
  36. * │         NO SPACES, with date and time, like this:
  37. * │             FILE25.QM       64795   6-23-91   4:12a
  38. * │         (See RINGxx.QM for this macro)
  39. * │
  40. * │^(F1__)  Position cursor in column at top of paragraph (R. Blackburn)
  41. * │^(F2__)  Position cursor in column at top of paragraph
  42. * │^(F3__)  Position cursor in column at bottom of paragraph
  43. * │
  44. * │@(f)     Execute DOS command without full path name
  45. * │
  46. * │#(F3_)   Spell Check WITH       backup, qconfig.dat backups ON or OFF
  47. * │#(F4_)   Spell Check WITHOUT    backup, qconfig.dat backups ON or OFF
  48. * │
  49. * │#(F5_)   SAVE  file  WITHOUT    backup, qconfig.dat backups ON
  50. * │#(F6_)   SAVE  file  WITHOUT    backup, qconfig.dat backups ON or OFF
  51. * │
  52. * │#(F7_)   DELETE CurrentFileName backup
  53. * │#(F8_)   EDIT   CurrentFileName backup
  54. * │
  55. * │@(PgUp)  Page Up   by paragraphs, modified "Page Up"
  56. * │@(PgDn)  Page Down by paragraphs, modified "Page Dn"
  57. * │
  58. * │^(w_)    Scroll UP   cursor bar stays fixed
  59. * │@(w)     Scroll UP   two windows in sync
  60. * │
  61. * │^(z_)    Scroll DOWN cursor bar stays fixed
  62. * │@(z)     Scroll DOWN two windows in sync
  63. * │
  64. * │@(o)     Alternate ChangeFileName, current name in prompt box for edit
  65. * │@(h)     Select Index item with cursor line, then <enter>.
  66. * │@(q)     QUIT all files in "Ring"
  67. * │
  68. * │(Index)  How to locate macro or item below from Index using @h
  69. * │(Description)
  70. * │(Startup)
  71. * │(Macros)
  72. * │(Other) Macros
  73. * │(REQUIRED) PROGRAM FILES
  74. * │(Version) history
  75. * └─────[ be sure to leave at least one blank line at end of Index  ]────────┘
  76.  
  77. * (Index) Use;
  78. *
  79. * To locate a macro or item in this file, press @h, place the cursor
  80. * line on the desired item in the Index above, and press <enter>.
  81. * See BOOKxx.QM for more details.
  82.  
  83. * (Description):
  84.  
  85. * (FILE25).QM  QEdit macros allow  the user  to select files  from a list
  86. * to: either load  a file, read a  macfile, delete a  file, read a macfile
  87. * of loaded txtfile,  save a read-only  file, or save  files with the name
  88. * either  09141025.EXT or  file NAME.914.  File sorting  is done  using DX
  89. * Directory Extender, not included with these files.  Spell  check  macros
  90. * with ShareSpell. Cursor position and scroll macros.
  91.  
  92. * File sorting is done using DX Directory Extender, v2.11. If the newer
  93. * version 2.60 is used and it is NOT registered, the DX heading will
  94. * show in the file selection window of @1 to @5 and the initial cursor
  95. * line will not be positioned on the first files in the selection list.
  96. * The file selection can be still be made by moving the cursor line to
  97. * the desired file and pressing <enter>. Alternatively, you can either
  98. * register DX or change the macros. I suggest registration. DX is the
  99. * most powerful DOS file and directory manager available.
  100.  
  101. * For (other) macros, see ALLMACRO.INF
  102.  
  103. * These macros require "QEdit and QMAC v2.1, February, 1990" or later.
  104.  
  105. * (Startup): See also FILE.DOC for requirements.
  106. *
  107. * To BEGIN, just type "START FILE" <Enter>. All pertinent files will be
  108. * loaded in the "Ring" for viewing, and FILE25.MAC is read.
  109. * Alternatively, type "START FILE 0" <Enter> and the disk copies of all
  110. * files in the "Ring" will be loaded ready for editing, saving time.
  111.  
  112. * (REQUIRED) PROGRAM FILES
  113. *
  114. * You──MUST──have the exectable program files in AMAC-PRG.ZIP to run
  115. * some of these macros. AMAC-PRG.ZIP can be found on the following BBS's:
  116. *
  117. *                                 SemWare
  118. *                                 Exec-PC
  119. *
  120. * It can not be found on CompuServe since many of the programs are
  121. * Copyrighted. All program files are ShareWare, and inclusion in
  122. * AMAC-PRG.ZIP is not prohibited in their documentation.
  123. *
  124. * I thank the authors for these excellent programs.
  125.  
  126. *------------------(Macros):-------------------
  127. *
  128. * In response to a request by Stephan Donelian, Richard Blackburn of
  129. * SemWare wrote ^1, which prompted me to modify it slightly to ^2.
  130. *
  131. *   ╒══>Quoting STEPHAN from Date: 03-19-91 (23:10)
  132. *   │
  133. *   │I would like to be able to go to the beginning line
  134. *   │of the paragraph and at the *same* column as the
  135. *   │current column. Any ideas?
  136. *   ╘══════════════════════════════════════════════════
  137. * 
  138. * ------------------------------------------------------------------
  139. * ^(F1__)  Position cursor in column at top of paragraph (R. Blackburn)
  140. * ------------------------------------------------------------------
  141. *
  142. ^F1 macrobegin
  143.             MarkCharacter   * save our place
  144.             PrevPara        * goto start of paragraph
  145.             MarkCharacter   * make it a block
  146.             GotoBlockEnd    * go back to our place
  147.             MarkLine        * and convert to line block
  148.                             * this is because
  149.             GotoBlockBeg    * block begin on a line block is
  150.                             * just the top of the block
  151.                             * at whatever block you are in
  152.             UnMarkBlock     * un mark the block
  153. *
  154. * 11 bytes Thu  03-21-1991  19:23:29
  155.  
  156. * Here's an alternate version. I was not aware that the block begin on
  157. * a line block is just the top of the block, but now knowing that
  158. * Richard Blackburn's ^1 can be shortened one byte. Except for screen
  159. * position, both do the same thing. Richard had the neat idea that got
  160. * me thinking!
  161.  
  162. * 
  163. * ------------------------------------------------------------------
  164. *^(F2__)  Position cursor in column at top of paragraph
  165. * ------------------------------------------------------------------
  166. *
  167. ^F2 Macrobegin
  168.           MarkLine          * save our place
  169.           PrevPara          * goto start of paragraph
  170.           MarkLine          * make it a block
  171.           PrevPosition      * go back to where we started
  172.           GotoBlockBeg      * block begin on a line block is
  173.                             * just the top of the block
  174.                             * at whatever block you are in
  175.           UnMarkBlock       * un mark the block
  176. *
  177. * 10 bytes Thu  03-21-1991  19:23:40
  178.  
  179. * 
  180. * ------------------------------------------------------------------
  181. *^(F3__)  Position cursor in column at bottom of paragraph
  182. * ------------------------------------------------------------------
  183. *
  184. ^F3 Macrobegin
  185.           MarkLine          * save our place
  186.           EndPara           * goto end of paragraph
  187.           MarkLine          * make it a block
  188.           PrevPosition      * go back to where we started
  189.           GotoBlockEnd      * block end on a line block is
  190.                             * just the bottom of the block
  191.                             * at whatever block you are in
  192.           UnMarkBlock       * un mark the block
  193. *
  194. * 10 bytes Sun  03-24-1991  22:51:35
  195.  
  196. * 
  197. * ---------------------------------------------------------------------
  198. * ^(F4__) Put colon in front of rem line for faster batch file operation
  199. * ---------------------------------------------------------------------
  200. *
  201. * "Rem" lines in batch files make batch files run slower. Lines which
  202. * are labels (colon as first character) do not. This macro simply puts
  203. * a colon in column 1 for each line containing "rem ". Each rem line
  204. * for my system takes about 0.2 seconds with disk cache, and 0.5 seconds
  205. * per line with no disk cache. I found one batch file with 30 plus
  206. * rem lines - 6 to 15 seconds less running time by labelling rem lines!
  207. *
  208. * NOTE:  At least a space and one character of text must follow "rem"
  209. * to be labelled, eg the following would not be labeled:
  210. *       rem
  211. *       echo remember
  212. * The following would be labeled:
  213. *       rem  this is a test
  214. *       echo harem holiday!
  215. *              
  216. *
  217. ^F4     MacroBegin                      *
  218.         Begfile InsertLine              * Insert blank line in case
  219.                                         * rem in col/line 1/1
  220.         Editfile "c:\!" Return          * Load temp file
  221.         KillFile Quit                   * To kill/quit it
  222.         EditFile Return                 * Load empty temp file and
  223.         SaveFile                        * save it for append later
  224.         Quit                            * Quit it for now
  225.  START:                                 *
  226.         Unmarkblock                     *
  227.         Find "rem " Return "I " Return  * Find "rem "
  228.         Jfalse END:                     * No rem lines, end macro
  229.         BegLine                         *ELSE line has rem, go to bol
  230.         Dropanchor Wordright Dropanchor * Mark space up to "rem"
  231.         Shiftright                      * Shift line rt one space
  232.         Begline                         * Bak to bol
  233.         Find ":" Return "L" Return      * See if line has colon at beg
  234.         Jtrue NEXT:                     *
  235.         Cursorright ":"                 *ELSE line has no colon, add it!
  236.  NEXT:                                  *
  237.         Shiftleft                       * Shift line back lft one space
  238.         Markline                        *
  239.         WriteBlock Return "A"           * Append line to c:\!
  240.         Endline Cursordown              * Move off rem and chk for last
  241.         Jfalse END:                     *                          line
  242.         Cursorup                        *ELSE Line is not last, cur up
  243.         Jump START:                     * Loop again
  244.  END:                                   *
  245.         Begfile                         * Begin of batch file
  246.         DelLine                         * Delete top blank line
  247.         Editfile Return                 * Load c:\!, look at rem lines
  248.         DelLine KillFile                * with added colon, kill file
  249.         UnMarkBlock                     * Un mark batch file
  250. *
  251. * 82 bytes Mon  03-25-1991  16:49:26
  252.  
  253. * 
  254. * ----------------------------------------------------------------------
  255. * ^(F6__) Directory sizes sorted by size
  256. * ----------------------------------------------------------------------
  257. *
  258. * This macro must ONLY be run as autoexecute macro with dsiz.bat.
  259. * See dsiz.qm for macro, and dsiz.bat for other instructions.
  260. *
  261. * Here's the output of dsiz.bat on my E: drive . . .
  262. *
  263. * Volume [E:Mininscrb_1] created: 91-Apr-02 19:15:24;
  264. *
  265. * Directory of [e:\up\]                         1,443,775 bytes in 263 files
  266. * Directory of [e:\com\]                          840,087 bytes in 111 files
  267. * Directory of [e:\disk\]                         671,114 bytes in 9 files
  268. *        .                                                    .
  269. *        .                                                    .
  270. *        .                                                    .
  271. * Directory of [e:\new-ware\]                       1,562 bytes in 4 files
  272. * Directory of [e:\bat\legal\]                        735 bytes in 1 file
  273. *   5,891,643 bytes in 969 files.     7,157,760 bytes allocated (18% slack).
  274.  
  275. * 
  276. *┌──────────────────────────────────────────────────────────────────┐
  277. *│@(1) Selects file to LOAD from sorted list of files in directory  │
  278. *└──────────────────────────────────────────────────────────────────┘
  279. *
  280. @1 Macrobegin
  281.         altwordset                      * For all file names
  282.         EditFile "file.srt" return      * Load sort list
  283.         pause                           * Select sort type
  284.         copy                            * Copy line to scrap
  285.         quit                            * Quit file.srt
  286.         DOS "file-DX "                  * Make/sort file list
  287.         paste return return             *
  288.         EditFile "c:!" return           * Load sorted file list
  289.         cursordown insertline           *
  290.         cursordown                      * Get to first file name line
  291.         pause                           * Pause to select file
  292.         begline wordright               * Put cursor on file name
  293.         markword copy                   * Mark/copy file name
  294.         killfile quit                   * Kill/quit c:!
  295.         EditFile paste return           * Load file
  296.         defaultwordset                  * Reset default
  297. *
  298. * 68 bytes Sun  09-09-1990  14:38:25
  299.  
  300. * 
  301. *┌─────────────────────────────────────────────────────────────────────┐
  302. *│@(2) LOAD txtfile/READ macfile from sorted list of files in directory│
  303. *└─────────────────────────────────────────────────────────────────────┘
  304. *
  305. @2 Macrobegin
  306.         altwordset                      * For all file names
  307.         DOS "file-DX mac d-"            * Sort macfiles by date
  308.         return return                   *
  309.         EditFile "c:!" return           * Load sorted file list
  310.         cursordown insertline           *
  311.         cursordown                      * Get to first file name line
  312.         pause                           * Pause to select
  313.         begline                         * Re-position cursor if moved
  314.         find "." return return          * Select it and get to dot
  315.         CursorRight delrtword CursorLeft* Delete extension
  316.         markword copy                   * Mark/copy file name - no ext
  317.         killfile quit                   * Kill/quit c:!
  318.         EditFile paste  "qm" return     * Load txtfile
  319.         defaultwordset                  * Reset default
  320.         macroread paste "mac" return    * Read macfile
  321. *
  322. * 78 bytes Sun  09-09-1990  14:38:29
  323.  
  324. * 
  325. *┌──────────────────────────────────────────────────────────────────┐
  326. *│@(3) Selects file to DELETE from sorted list of files in directory│
  327. *└──────────────────────────────────────────────────────────────────┘
  328. *
  329. * Be careful to select ONLY the file you want deleted.
  330. *
  331. @3 Macrobegin
  332.         altwordset                      * For all file names
  333.         EditFile "file.srt" return      * Load sort list
  334.         pause                           * Pause to select sort
  335.         markline copy paste             * Paste selected line
  336.         begline markword                * Mark file ext
  337.         quit                            * Quit file.srt
  338.         DOS "file-DX "                  * Make/sort file list
  339.         paste return return             *
  340.         EditFile "c:!" return           * Load sorted file list
  341.         cursordown insertline           *
  342.         cursordown                      * Get to first file name line
  343.         pause                           * Pause to select file
  344.         begline wordright               * Put cursor on file name
  345.         markword copy                   * Select it
  346.         insertline                      * Insert line in c:!
  347.         paste                           * Paste file name
  348.         copy                            * Copy file name to scrap
  349.         DOS "del " paste return return  * Delete select file
  350.         killfile quit                   * Kill/quit c:!
  351.         defaultwordset                  * Reset default
  352. *
  353. * 84 bytes Sun  09-09-1990  14:38:34
  354.  
  355. * 
  356. *┌─────────────────────────────┐
  357. *│@(4) Load Files From PickList│
  358. *└─────────────────────────────┘
  359. *
  360. * To run, just press Alt and 4 at the same time. At the prompt "File=",
  361. * enter a [file name(s)] and [file sort option] to make a PickList
  362. * using the following syntax:
  363. *
  364. *         [file name(s)]  [file sort option]  <enter>
  365. *
  366. * where [file sort option] is either "esda".
  367. *
  368. * For example, when entering:
  369. *
  370. *         c*.* s- (space must be included between name/sort option!)
  371. *
  372. * a file to load can be selected from a PickList of all files in
  373. * the current directory beginning with the letter "c" sorted by size,
  374. * largest first. Entering file name(s) WITHOUT a sort option, makes
  375. * a PickList sorted by name an then extension.
  376. *
  377. * This macro can sort files in any order. The following information is
  378. * from the file DX.DOC for Directory Extender. Please read this
  379. * document for more information on using the excellent program DX.
  380. *
  381. * Sorting is by name by default. The /SOrt switch without a value sorts
  382. * by name  and then extension in ascending  order. The sorting
  383. * criteria consists of: "N" for name, "E" for extension, "S" for  size,
  384. * "D" for date/time, "A" for attribute. Specifying  a letter by itself
  385. * or with a '+' suffix indicates ascending  order;  specifying a '-'
  386. * suffix indicates descending order.
  387. *
  388. * Examples of the sort options are:
  389. *
  390. *     [filename(s)] ne         => sort by name and extension
  391. *
  392. *     [filename(s)] e-n-       => sort files descending by
  393. *                                 extension first and then by
  394. *                                 descending name
  395. *
  396. *     [filename(s)] snd-       => sort files by ascending size,
  397. *                                 ascending name, and then
  398. *                                 descending date
  399. *
  400. @4 Macrobegin
  401.         unmarkblock altwordset          * For all file names
  402.         begline insertline              * Insert temp line
  403.        "File="                          *
  404.         endline markcolumn              * Start mark
  405.         pause                           * File name?, wild cards OK
  406.         markcolumn copy                 * Mark/copy file name to scrap
  407.         delline                         * Delete temp line
  408.         DOS "PICK " paste               * Make PickList
  409.         return return                   *
  410.         EditFile "c:!" return           * Load list
  411.         cursordown insertline           *
  412.         cursordown                      * Get to first file name line
  413.         pause                           * Pause to select file
  414.         begline wordright               * Put cursor on file name
  415.         markword copy                   * Mark/copy selection to scrap
  416.         killfile quit                   * Kill/quit c:!
  417.         EditFile paste return           * Load file selected
  418.         defaultwordset                  * Reset default
  419. *
  420. * 60 bytes Sun  09-09-1990  14:38:38
  421.  
  422. * 
  423. * ┌──────────────────────────────────────────────┐
  424. * │@(5)  LOADS a file whose name is at the cursor│
  425. * └──────────────────────────────────────────────┘
  426. * This picks up a file name that is sitting at the cursor position in the
  427. * editor, and loads it into another buffer (From SemWare BBS).
  428. *
  429. @5      Macrobegin                      *
  430.         altwordset                      * For all file names
  431.         markword                        * Mark file name
  432.         copy                            * Copy to scrap
  433.         EditFile                        * Load it
  434.         paste return                    *
  435.         defaultwordset                  *
  436. *
  437. * 11 bytes Sun  09-09-1990  14:38:43
  438.  
  439. * 
  440. * ┌───────────────────────────────────────┐
  441. * │@(6) Reloads current file from disk    │
  442. * └───────────────────────────────────────┘
  443. *
  444. @6 Macrobegin
  445.    SplitLine EditFile CurrentFileName Return NewFile "N" Return
  446. *
  447. * 12 bytes Fri  08-10-1990  15:24:13
  448.  
  449. * 
  450. * ┌────────────────────────────────────────────────────────┐
  451. * │@(7) Load all files in "Ring"                           │
  452. * └────────────────────────────────────────────────────────┘
  453. *
  454. * This macro is handy if you want to quickly load all files in the
  455. * ring. QEdit has the advantage that the EditFile, just like the QEdit
  456. * command line, can accept multiple file names together, separated by
  457. * spaces. Wild card file specification is also possible. The end result
  458. * is that files can be entered in QEdit's "ring" *without* actually
  459. * loading.  Qedit defers loading files in the ring until you either
  460. * EditFile or NextFile into the file. This macro simply automatically
  461. * "loads" all files in the "Ring" by NextFiling through all files. If
  462. * your hard drive is slow (like mine), you'll appreciate the time
  463. * this macro saves. Run this macro twice to see the difference.
  464.  
  465. * If a file is set "read-only", press <Esc>, and run the macro until
  466. * all files are loaded. The technique using the NUL file as a place
  467. * marker was written by Kyle Watkins of SemWare and is used here with a
  468. * slight modification.
  469. *
  470. * See also QLSTxx.QM for using this macro to load files from a
  471. * FileList.
  472. *
  473. @7      Macrobegin
  474.         EditFile 'NUL' Return    * Insert -or- GoTo NUL File           |2.5
  475.         Begline CursorRight      * Put cursor in Col. 2 of NUL File
  476.         LOOP:                    * Main test loop
  477.             Nextfile             * Move to next files in Ring
  478.             CursorLeft           * Move cursor left (need for NUL test)
  479.             Jfalse LOOP:         * If couldn't move to left, it's not
  480.                                  * the NUL File AND cursor position
  481.                                  * has not changed -- LOOP again
  482.                                  *ELSE
  483.                                  * Check to see if in the NUL File
  484.             CursorLeft           * Move cursor left for NUL Test
  485.             Jfalse END:          * If couldn't move left -- We
  486.                                  * ARE in the NUL File and Need
  487.                                  * to END the Macro
  488.                                  *ELSE
  489.             CursorRight          * Move back to Col. 2 in NUL File
  490.         END:                     * Macro is DONE
  491.             Quit                 * Quit the NUL File
  492. *
  493. * 21 bytes Tue  10-30-1990  20:05:53
  494. * 25 bytes Tue  05-14-1991  17:35:54 changed ! to NUL, faster
  495.  
  496. * 
  497. *┌─────────────────────────────────────────────┐
  498. *│@(8) Reads macfile of txtfile that is loaded │
  499. *└─────────────────────────────────────────────┘
  500. *
  501. * From MACRxx.QM
  502. *
  503. @8 Macrobegin
  504.    macroread CurrentFileName backspace backspace "mac" return
  505. *
  506. * 15 bytes Sun  09-09-1990  14:38:55
  507.  
  508. * 
  509. * ┌────────────────────────────────────────────────────────────────────┐
  510. * │@(9) Make RingList, Load all files in ring, select file to edit     │
  511. * └────────────────────────────────────────────────────────────────────┘
  512. *
  513. * Does not make NEW RingList if already made.
  514.  
  515. * Both @9 and @0 have the disadvantage that each files in the ring is
  516. * loaded and modified while getting each FileName to scratch to make
  517. * the RingList. All files in the ring can be QUIT using @q macro.
  518. *
  519. @9      Macrobegin
  520.         prevfile unmarkblock    * Move to prevfile so file being
  521.                                 * edited is first files in RingList
  522.         EditFile "NUL" return   * Load/Edit RingList file              |2.5
  523.         endline begline         * If NUL is already made, it has text
  524.         jtrue GETFILE:          * then GoTo GETFILE
  525.                                 *ELSE
  526.         dropanchor              *
  527.         storescrbuff "1" return * Clear scratch buffer
  528.         Begline CursorRight     * Put cursor in Col. 2 for StopFile
  529.  LOOP:                          * Main test loop
  530.         Nextfile                * Move to next files in Ring
  531.         splitline dropanchor    *
  532.         CurrentFileName         *
  533.         appendscrbuff "1" return* Append filename to scratch buffer
  534.         cut                     * Delete block
  535.         CursorLeft              * Move cursor left
  536.                                 * (need for StopFile test)
  537.         Jfalse DOIT:            * If couldn't move to left, cursor
  538.                                 * must be in Col. 1 and it's not
  539.                                 * the StopFile -- GO with DOIT
  540.                                 *ELSE
  541.                                 * Check to see if in the StopFile File
  542.         CursorLeft              * Move cursor left for StopFile Test
  543.         Jfalse RINGLIST:        * If couldn't move left again -- We
  544.                                 * ARE in the StopFile File and Need
  545.                                 * to GO to RINGLIST
  546.                                 *ELSE
  547.         CursorRight             * Restore Cursor to its previous
  548.                                 * position and GO with the DOIT
  549.  DOIT:                          * DOIT Loop
  550.         Jump LOOP:              * Return to the Main Loop
  551.  RINGLIST:                      * Get RingList into file
  552.         EditFile return         * Load RingList file                       
  553.         getscrbuff "1" return   * Put RingList in it
  554.         delline unmarkblock     * Delete top line and unmark file
  555.  GETFILE:                       *
  556.         pause copy              * Pause and select file to edit
  557.         EditFile paste return   * and then begin editing it
  558. *
  559. * 58 bytes Mon  10-01-1990  10:56:15
  560. * 60 bytes Tue  05-14-1991  17:17:29 changed ! to NUL, faster
  561.  
  562. * 
  563. * ┌────────────────────────────────────────────────────────────────────┐
  564. * │@(0) Make RingList, Load all files in ring, select file to edit     │
  565. * └────────────────────────────────────────────────────────────────────┘
  566. *
  567. * Makes NEW RingList even if already made.
  568.  
  569. * Both @9 and @0 have the disadvantage that each files in the ring is
  570. * loaded and modified while getting each FileName to scratch to make
  571. * the RingList. All files in the ring can be QUIT using @q macro.
  572. *
  573. @0      Macrobegin
  574.         prevfile unmarkblock    * Move to prevfile so file being
  575.         dropanchor              * edited is first files in RingList
  576.         storescrbuff "1" return * Clear scratch buffer
  577.         Begline CursorRight     * Put cursor in Col. 2 for StopFile
  578.  LOOP:                          * Main test loop
  579.         Nextfile                * Move to next files in Ring
  580.         splitline dropanchor    *
  581.         CurrentFileName         *
  582.         appendscrbuff "1" return* Append filename to scratch buffer
  583.         cut                     * Delete block
  584.         CursorLeft              * Move cursor left
  585.                                 * (need for StopFile test)
  586.         Jfalse DOIT:            * If couldn't move to left, cursor
  587.                                 * must be in Col. 1 and it's not
  588.                                 * the StopFile -- GO with DOIT
  589.                                 *ELSE
  590.                                 * Check to see if in the StopFile File
  591.         CursorLeft              * Move cursor left for StopFile Test
  592.         Jfalse RINGLIST:        * If couldn't move left again -- We
  593.                                 * ARE in the StopFile File and Need
  594.                                 * to GO to RINGLIST
  595.                                 *ELSE
  596.         CursorRight             * Restore Cursor to its previous
  597.                                 * position and GO with the DOIT
  598.  DOIT:                          * DOIT Loop
  599.         Jump LOOP:              * Return to the Main Loop
  600.  RINGLIST:                      * Get RingList into file
  601.         EditFile "NUL" return     * Load RingList file                 |2.5
  602.         getscrbuff "1" return   * Put RingList in it
  603.         delline unmarkblock     * Delete top line and unmark file
  604.  GETFILE:                       *
  605.         pause copy              * Pause and select file to edit
  606.         Quit                    * Quit the RingList File
  607.         EditFile paste return   * and then begin editing it
  608. *
  609. * 50 bytes Mon  10-01-1990  11:02:09
  610. * 54 bytes Tue  05-14-1991  17:17:52 changed ! to NUL, faster
  611.  
  612. * 
  613. *  ┌─────────────────────────────────────────────────┐
  614. *  │@(F1) Saves file with name "Mos_Day_Hour_Min.Ext"│
  615. *  └─────────────────────────────────────────────────┘
  616. *
  617. * This macro saves the current file with the name as
  618. * "Mos_Day_Hour_Min.Ext".  For example, @F1 saves this file as
  619. * 08191025.QM when date and time are Sun 08-19-1990  10:25:00.
  620. *
  621. * Insert must be ON.
  622. *
  623. * Thanks to Jim Wright for the neat idea how to condense date and time
  624. * with his macro in QE-MEM.ZIP. Like many other macro ideas from
  625. * others, they often seem so simple once we see and understand them
  626. * that we say "why didn't I think of that" - but I didn't !
  627.  
  628. @F1    Macrobegin
  629.  *************************************** TOGGLE INSERT ON*************
  630.        insertline                      * Insert test line
  631.        "a" CursorLeft "a"              * Insert "aa"
  632.        endline                         * If not at endline-insert is on
  633.  Jtrue FIN:                            * If at endline   -insert is off
  634.        toggleinsert                    * Toggle ON if off
  635.  FIN:                                  *
  636.        delline                         * Delete test line
  637.  *************************************** CONDENSE DATE & TIME *******
  638.        unmarkblock                     * Begin no marked block
  639.        insertline begline              * Insert line
  640.        insertdate inserttime           * Get date & time to condense
  641.        markline
  642.        delltword  delltword            * Delete seconds
  643.        backspace                       * Delete :
  644.        CursorLeft CursorLeft           * Keep minutes
  645.        backspace                       * Delete :
  646.        CursorLeft CursorLeft           * Keep hour
  647.        delltword  delltword            * Delete spaces and year
  648.        backspace                       * Delete -
  649.        CursorLeft CursorLeft           * Keep day
  650.        backspace                       * Delete -
  651.        CursorLeft CursorLeft           * Keep month
  652.        delltword  delltword            * Delete spaces & day name
  653.        endline                         * Go to end of condensed number
  654.        CurrentFileName                 * Get CurrentFileName
  655.        find "." return "LB" return     * Move to begin of extension
  656.        jtrue HASEXT:                   * If dot found, file has extn.
  657.                                        * and go to HASEXT
  658.                                        *ELSE
  659.        Endline "." CursorLeft          * Add ".", file has NO extn.
  660.  HASEXT:                               *
  661.        unmarkblock                     * unmark line
  662.        CursorLeft markcolumn           * Move off dot and mark it
  663.        find ":" return "b" return      * Move to :
  664.        CursorLeft deleteblock          * Del all but .ext of file name
  665.        cut                             * Get number.ext to scrap
  666.        writeblock paste return         * Save number.ext
  667. *
  668. * 74 bytes Wed  02-13-1991  23:16:45
  669.  
  670. * 
  671. * ┌────────────────────────────────────────────────────────┐
  672. * │@(F2) Saves file with name "CurrentFileName.Mos_Day"    │
  673. * └────────────────────────────────────────────────────────┘
  674. *
  675. * Macro saves the current file with name "CurrentFileName.Mos_Day".
  676. * For example, @F2 saves it as FILE25.214 when date and time are
  677. * Thu  02-14-1991  10:25:00. Use this macro Jan-Sept.
  678. *
  679. @F2   Macrobegin
  680.       unmarkblock                     * Begin no marked block
  681.       insertline begline              * Insert line
  682.       insertdate                      * Get date & time to condense
  683.       delltword  delltword            * Delete spaces and year
  684.       backspace                       * Delete -
  685.       CursorLeft CursorLeft           * Keep day
  686.       backspace                       * Delete -
  687.       CursorLeft                      * Keep last digit of month,
  688.       backspace                       * Delete first digit of month
  689.       backspace                       * Delete -
  690.       delltword  delltword            * Delete spaces & day name
  691.       begline                         *
  692.       CurrentFileName                 * Get CurrentFileName
  693.       delltword                       * Delete extension
  694.       cut                             * Get file name.num to scrap
  695.       writeblock paste return         * Save file name.num
  696. *
  697. * 26 bytes Wed  10-03-1990  19:24:02
  698.  
  699. * * Macro saves the current file with name "CurrentFileName.Mos_Day".
  700. * * For example, @F2 saves it as FILE25.119 when date and time are
  701. * * Sun  10-19-1990  10:25:00. Use this macro Oct-Dec.
  702. * *
  703. * @F2   Macrobegin
  704. *       unmarkblock                     * Begin no marked block
  705. *       insertline begline              * Insert line
  706. *       insertdate                      * Get date & time to condense
  707. *       delltword  delltword            * Delete spaces and year
  708. *       backspace                       * Delete -
  709. *       CursorLeft CursorLeft           * Keep day
  710. *       backspace                       * Delete -
  711. *       backspace                       * Delete last digit of month
  712. *       CursorLeft                      * Keep first digit of month,
  713. *       delltword  delltword            * Delete spaces & day name
  714. *       begline                         *
  715. *       CurrentFileName                 * Get CurrentFileName
  716. *       delltword                       * Delete extension
  717. *       cut                             * Get file name.num to scrap
  718. *       writeblock paste return         * Save file name.num
  719. * *
  720. * * 25 bytes Fri  10-19-1990  12:53:19
  721.  
  722. * 
  723. * ┌──────────────────────────────────────────────┐
  724. * │@(F3) Saves Read-Only files                   │
  725. * └──────────────────────────────────────────────┘
  726. *
  727. * This macro will save the currently loaded file if the file attribute
  728. * on the disk copy is set to Read-Only. QEdit currently will not save
  729. * files loaded as Read-Only.
  730. *
  731. * This macro is written to use either Dos ATTRIB, Gavin's ALTER, or
  732. * Norton's FA. To change from using Dos ATTRIB change the respective
  733. * lines in the macro and reconvert with QMAC.
  734. *
  735. * One word of caution: any file on the disk in the current directory
  736. * with same prefix as the loaded file will have it's read attribute
  737. * reset to read OFF regardless of the extension. Gavin's ALTER is the
  738. * fastest way to reset attributes but it also resets ALL the attributes,
  739. * including the archive bit, of ALL files in the directory with the same
  740. * prefix.
  741. *
  742. * To save a file loaded as Read-Only just press @F3:
  743.  
  744. @F3     Macrobegin
  745.         unmarkblock                     * Unmark blocks
  746.         insertline                      * Insert blank line on top
  747.         markcolumn                      *
  748.         CurrentFileName markcolumn      * Get CurrentFileName on line
  749.         storescrbuff "1" return         * Store currentfilname to buf/1
  750.         find "." return "LB" return     * Find dot back in block
  751.   jtrue IFEXT:                          * If dot found go to IFEXT:
  752.         endline ".*"                    * Add ".*" if name has NO ext
  753.   jump FULLEXT:                         * Go to FULLEXT
  754.   IFEXT:                                * If name has extension then..
  755.         CursorRight DelToEol "*"        * Add "*" after dot
  756.   FULLEXT:                              *
  757.         copy                            * Copy "prefix.*" to scrap
  758.         delline                         * Delline
  759.         changefilename "$" return       * Change CurrentFileName to $
  760.      dos "ATTRIB -R "                   * Clear Read Only attribute...
  761.         paste return return             *    w/ Dos    ATTRIB
  762. *    dos "ALTER "                       *
  763. *       paste "/RE" return return       *    w/ Gavin  ALTER (Fastest)
  764. *    dos "FA "                          *
  765. *       paste "/R-" return return       *    w/ Norton FA
  766.         insertline                      * Insert blank line in $
  767.         unmarkblock                     * Unmark all blocks
  768.         getscrbuff "1" return           * Get origfilename on line
  769.         copy                            * Copy to scrap
  770.         delline                         * Delline
  771.         changefilename paste return     * Change $ to origfilename
  772.         return                          * Gives OK to overlay origfile
  773.         savefile                        * Save origfile
  774. *
  775. * 80 bytes Wed  02-13-1991  16:14:00
  776.  
  777. * 
  778. *┌──────────────────────────────────────┐
  779. *│ @(F4) Execute Dos Commands From List │
  780. *└──────────────────────────────────────┘
  781. * To run, just press @F4 and move cursor line to the desired command
  782. * to execute. Then press <enter> to execute command and return to file
  783. * you editing. Modify DOS.LIST as you need.
  784. *
  785. * Run Syntax: [command]  <enter>
  786.  
  787. @F4  Macrobegin
  788.         unmarkblock                     *
  789.         EditFile "DOS.LST" return       * Load command list
  790.         pause                           * Select command
  791.         copy                            * Get command to scrap
  792.         quit                            * Quit command list
  793.         DOS paste return                * Execute Dos command
  794. *
  795. * 27 bytes Mon  02-11-1991  11:11:56
  796.  
  797. * 
  798. *┌──────────────────────────────────────────────────────────┐
  799. *│ @(F5) Execute Dos Commands From List With CurrentFileName│
  800. *└──────────────────────────────────────────────────────────┘
  801. *
  802. * To run, just press @F5 and move cursor line to the desired command
  803. * to execute. Then press <enter> to execute command. Press <enter> again
  804. * to return to file you were editing. Dos executes the command as if it
  805. * were run at the command line followed by the CurrentFileName, then
  806. * <enter>. Modify the DOS.LIST as you need.
  807.  
  808. * I recall getting this macro from the SemWare BBS but do not recall
  809. * the author. If anyone knows, please let me know so I can give proper
  810. * credit. It's quite a useful and simple macro.
  811. *
  812. * Run Syntax: [command] CurrentFileName <enter>
  813. *
  814. @F5 Macrobegin
  815.         unmarkblock                     *
  816.         EditFile "DOS.LST" return       * Load command list
  817.         pause                           * Select command
  818.         copy                            * Get command to scrap
  819.         quit                            * Quit command list
  820.         DOS paste " " CurrentFileName   * Execute command w/
  821.                                         * CurrentFileName
  822.         return                          *
  823. *
  824. * 30 bytes Sat  09-15-1990  09:24:37
  825.  
  826. * 
  827. * ----------------------------------------------------------------------
  828. *  @(F6)  Makes a DIR List of Filenames in Conventional "8.3" Format,
  829. *                 NO SPACES, with Date and Time, like this:
  830. *                 FILE25.QM       64795   6-23-91   4:12a
  831. * ----------------------------------------------------------------------
  832.  
  833. *  See RINGxx.QM for this macro.
  834.  
  835. * 
  836. * ┌─────────────────────────────────────────────────────────┐
  837. * │@(F7) READ macfile & LOAD it's txtfile from txtfile list │
  838. * └─────────────────────────────────────────────────────────┘
  839. *
  840. * @F7 enables a file to be selected for editing and it's macfile read
  841. * from a prepared list of txtfiles. The list of txtfiles (-qm.lst)
  842. * included with FILE25 is a list of the latest macros in this series,
  843. * but it can be altered to meet your needs by adding [drive:]\[path\]
  844. * both in front of each file in the list and also in the second line of
  845. * the macro, and adding or deleting any files you choose to/from this
  846. * list. The modified macro can be put in your QCONFIG.DAT file and
  847. * macros can be loaded and read while in any directory. To run, press
  848. * @F7, cursor down to the desired file, and press <enter>. Remember,
  849. * txtfiles must have the extension "QM" and the macfiles must have the
  850. * extension "MAC".
  851. *
  852. @F7 Macrobegin
  853.     EditFile "-qm.lst" return           * Edit txtfile list
  854.     pause                               * Pause to select macro to read
  855.     endline                             * Go to end of file name
  856.     backspace backspace                 * and remove it's extension
  857.     copy quit                           * Copy file name to scrap
  858.     EditFile  paste "qm"  return        * Load selected macro txtfile
  859.     macroread paste "mac" return        * and read it's macfile
  860. *
  861. * 42 bytes Thu  10-18-1990  12:23:41
  862.  
  863. * 
  864. *┌───────────────────────────────────────────────────────────┐
  865. *│ @(F8) READ macfile from macfile list, txtfile not loaded  │
  866. *└───────────────────────────────────────────────────────────┘
  867. *
  868. * @F8 enables a macfile to be selected and read from a prepared list
  869. * of macfiles. The list of macfiles (-mac.lst) included with FILE25 is
  870. * a list of the latest macros in this series, but it can be altered to
  871. * meet your needs by adding [drive:]\[path\] in front of each file in
  872. * the list and also in the second line of the macro, and adding or
  873. * deleting any files you choose to/from this list. The modified macro
  874. * can be put in your QCONFIG.DAT file and macros can be read while in
  875. * any directory. To run, press @F8, cursor down to the desired file,
  876. * and press <enter>. Remember, macfiles must have the extension "MAC".
  877. *
  878. @F8 Macrobegin
  879.     EditFile "-mac.lst" return          * Edit macfile list
  880.     pause                               * Pause to select macro to read
  881.     endline                             * Go to end of macfile name
  882.     backspace backspace backspace       * and remove it's extension
  883.     copy quit                           * Copy macro name to scrap
  884.     macroread paste "mac" return        * Read it's macfile only
  885. *
  886. * 38 bytes Thu  10-18-1990  12:23:50
  887.  
  888. * 
  889. *------------------------------------------------------------
  890. * #(F3_) Spell check current file WITH backup with ShareSpell,
  891. *        QCONFIG.DAT backups ON or OFF, SS makes a backup file.
  892. *------------------------------------------------------------
  893. *
  894. #F3 Macrobegin                              *
  895.     SaveFile                                * Save file
  896.     Dos "SS " CurrentFileName Return Return * Spell Check
  897.     EditFile CurrentFileName Return         * Set EditFile prompt
  898.     NewFile Return                          * Load Spell checked file
  899. *
  900. * 20 bytes Wed  02-13-1991  12:32:29
  901.  
  902. * 
  903. *-----------------------------------------------------------------
  904. * #(F4_) Spell check WITHOUT backup, QCONFIG.DAT backups ON or OFF
  905. *-----------------------------------------------------------------
  906. * This macro does not save a backup file no matter how QCONFIG.DAT is
  907. * configured for backups. If a beep is heard, the file being spell
  908. * checked does not have an extension (no dot was found).
  909. *
  910. #F4 Macrobegin
  911.     Unmarkblock Insertline Begline      * Insert temp line with
  912.     Dropanchor CurrentFileName          * CurrentFileName marked
  913.     Find "." Return "LB" Return         * Find dot backwards in name
  914.     DelToEol ".bak"                     * Add .bak
  915.     Cut Savefile                        * Cut name.bak to scrap/save it
  916.     DOS "SS " CurrentFileName Return Return * ShareSpell spell check
  917.     DOS "DEL " Paste Return Return      * Delete name.bak
  918.     EditFile CurrentFileName Return     * Set EditFile prompt
  919.     NewFile Return                      * Load spell checked file
  920. *
  921. * 56 bytes Sun  02-17-1991  14:02:28
  922.  
  923. * 
  924. *---------------------------------------------------------
  925. * #(F5_) Saves file WITHOUT backup, QCONFIG.DAT backups ON
  926. *---------------------------------------------------------
  927. * Saves files without making a backup file if QCONFIG.DAT
  928. * is configured "Yes" to "Do you want backups saved?".
  929. *
  930. #F5 Macrobegin Togglebakups SaveFile Togglebakups
  931. *
  932. * 7 bytes Tue  02-12-1991  03:39:44
  933.  
  934. * 
  935. *----------------------------------------------------------------
  936. * #(F6_) Saves file WITHOUT backup, QCONFIG.DAT backups ON or OFF
  937. *----------------------------------------------------------------
  938. * This is an alternate version of #F5 which does not save a backup
  939. * file no matter how QCONFIG.DAT is configured for backups. If a
  940. * beep is heard, the file being saved does not have an extension
  941. * (no dot was found).
  942. *
  943. #F6 Macrobegin
  944.     Unmarkblock Insertline Begline      * Insert temp line with
  945.     Dropanchor CurrentFileName          * CurrentFileName marked
  946.     Find "." Return "LB" Return         * Find dot backwards
  947.     DelToEol ".bak"                     * Add .bak
  948.     Cut Savefile                        * Cut name.bak to scrap/save file
  949.     DOS "del " Paste Return Return      * Delete name.bak
  950. *
  951. * 41 bytes Sun  02-17-1991  14:30:32
  952.  
  953. * Here's an alternate version of #F6 that saves a file without a
  954. * backup no matter how QCONFFIG.DAT is configured. Be careful that no
  955. * line feed or carriage return characters are in the file or the saved
  956. * file will be formatted with these characters removed.
  957. *
  958. * #F6 Macrobegin                        *
  959. *     unmarkblock killfile              * Kill disk copy so writeblock
  960. *                                       * works without prompts
  961. *     writeblock currentfilename return * Save file as block
  962. *
  963. * 8 bytes Thu  02-14-1991  12:28:01
  964.  
  965. * 
  966. *--------------------------------------
  967. * #(F7_) Deletes CurrentFileName Backup
  968. *--------------------------------------
  969. *
  970. #F7 Macrobegin
  971.     Unmarkblock Insertline Begline      * Insert temp line with
  972.     Dropanchor CurrentFileName          * CurrentFileName marked
  973.     Find "." Return "LB" Return         * Find dot backwards
  974.     DelToEol ".bak"                     * Add .bak
  975.     Cut                                 * Cut name.bak to scrap
  976.     DOS "DEL " Paste Return Return      * Delete name.bak
  977. *   DOS "DX " Paste "//DEL"             * Alternate verify delete
  978. *   Return Return                       * with Directory Extender DX
  979. *
  980. * 40 bytes Sun  02-17-1991  14:10:19
  981.  
  982. * 
  983. *----------------------------------
  984. * #(F8_) Edit CurrentFileName Backup
  985. *----------------------------------
  986. *
  987. #F8 Macrobegin
  988.     Unmarkblock Insertline Begline      * Insert temp line with
  989.     Dropanchor CurrentFileName          * CurrentFileName marked
  990.     Find "." Return "LB" Return         * Find dot backwards
  991.     DelToEol ".bak"                     * Add .bak
  992.     Cut                                 * Cut name.bak to scrap
  993.     EditFile Paste Return               * Load name.bak
  994. *
  995. * 31 bytes Sun  02-17-1991  14:10:06
  996.  
  997. * 
  998. *---------------------------------------------------
  999. * @(PgUp), Page Up by paragraphs, modified "Page Up"
  1000. *---------------------------------------------------
  1001. *
  1002. * This macro does a modified page UP with the cursor at the top of the
  1003. * screen at the beginning of a paragraph, the first paragraph on the
  1004. * screen being the last parapgraph which might not have been fully
  1005. * visible on the top of previous screen. This is handy for getting to
  1006. * and from paragraphs during editing or viewing.
  1007. *
  1008. 177 MacroBegin PageUp PrevPara BegLine Maketopofscreen
  1009. *
  1010. * 8 bytes Thu  02-21-1991  14:23:43
  1011.  
  1012. *-----------------------------------------------------
  1013. * @(PgDn), Page Down by paragraphs, modified "Page Dn"
  1014. *----------------------------------------------------
  1015. *
  1016. * This macro does a modified page DOWN with the cursor at the top of
  1017. * the screen on the end of the last paragraph which was not fully
  1018. * visible on the previous screen. This is handy for getting to and from
  1019. * paragraphs during editing or viewing.
  1020. *
  1021. 176 MacroBegin PageDown EndPara BegLine Maketopofscreen
  1022. *
  1023. * 8 bytes Thu  02-21-1991  19:11:14
  1024.  
  1025. * 
  1026. *┌───────────────────────────────────────────────────────────────────┐
  1027. *│@(h) Finds first word on cursor line marked in document below      │
  1028. *└───────────────────────────────────────────────────────────────────┘
  1029. *
  1030. *        @h macro has 2 steps:
  1031. *
  1032. *        1. Press @ and h at the same time. An ! shows at the
  1033. *        end of the top line. Cursor down to desired line in Index.
  1034. *
  1035. *        2. Press Enter. The macro first erases the !, and
  1036. *        then finds the first word on the cursor line in the document
  1037. *        below marked with (...).
  1038. *
  1039. * See BOOKxx.QM for more details.
  1040. *
  1041. @h Macrobegin
  1042.         unmarkblock                     * Unmark any marked blocks
  1043.         begfile endline                 * Go to file begin endline
  1044.         "!"                             * Put ! at endline
  1045.         begline
  1046.         find "!" return return begline  * Highlight !
  1047.         pause                           * Pause for Index selection
  1048.         wordright markword              * Mark first word on line
  1049.         copy                            * Copy word to scrap buffer
  1050.         begfile                         * Begfile
  1051.         find "!" return return delch    * Find & delete !
  1052.         endpara                         * Go to end of Index
  1053.         makectrofscreen                 * Cursor line center of window
  1054.         find "(" paste ")"
  1055.         return "I" return               * Find first marked word in doc
  1056.  jfalse NOMARK:
  1057.         begline                         * If mark found go to begline
  1058.  jump END:
  1059.  NOMARK:
  1060.         begfile                         * If no mark found go to begfile
  1061.  END:
  1062. *
  1063. * 47 bytes Fri  09-14-1990  14:06:26
  1064.  
  1065. * 
  1066. * ----------------------------------------------------------------------
  1067. * @(f) Execute DOS command for programs not requring full path name
  1068. * ----------------------------------------------------------------------
  1069. *
  1070. @f  Macrobegin
  1071.     Unmarkblock Insertline          * Insert temp line
  1072.     CurrentFileName                 * with CurrentFileName
  1073.     MarkCharacter                   * Begin mark
  1074.     Find "\" Return "B" Return      * Find \ backwards
  1075.     CursorRight Cut                 * Cut filename to scrap
  1076.     Delline                         * Delete temp line 
  1077.     Dos Pause " " Paste Return      * Pause for DOS command
  1078. *
  1079. * 24 bytes Tue  04-23-1991  11:58:35
  1080.  
  1081. * 
  1082. * ----------------------------------------------------------------------
  1083. * @(o) Alternate ChangeFileName, currentfilename in prompt box for edit
  1084. * ----------------------------------------------------------------------
  1085. *
  1086. * This macro puts the currentfilename in the prompt box for editing.
  1087. *
  1088. @o   MacroBegin ChangeFilename DelLine CurrentFilename
  1089. *
  1090. * 7 bytes Wed  04-03-1991  16:25:01
  1091.  
  1092. * 
  1093. *┌──────────────────────────────────┐
  1094. *│@(q) QUITs all Files in Ring      │
  1095. *└──────────────────────────────────┘
  1096. *
  1097. @q      Macrobegin
  1098.     LOOP:
  1099.         quit
  1100.         jump LOOP:
  1101. *
  1102. * 8 bytes Sat  09-29-1990  00:03:46
  1103.  
  1104. * 
  1105. * -----------------------------------------------
  1106. *  ^(w_) Scroll UP, cursor bar stays fixed
  1107. * -----------------------------------------------
  1108. *
  1109. ^w  macrobegin scrollup cursorup
  1110. * 6 bytes Fri  02-22-1991  17:01:18
  1111.  
  1112. * -----------------------------------------------
  1113. *  ^(z_) Scroll DOWN, cursor bar stays fixed
  1114. * -----------------------------------------------
  1115. *
  1116. ^z  macrobegin scrolldown cursordown
  1117. * 6 bytes Fri  02-22-1991  17:01:29
  1118.  
  1119. * These two macros, @w and @z, were originally written by Karl Brendel
  1120. * as below. I have modified them both slightly so that the cursor bar
  1121. * remains fixed in each window while scrolling. Corresponding lines
  1122. * will always be adjacent across the cursor bar (not the status line),
  1123. * so it's easy to spot things that don't match up between the files.
  1124. *
  1125. * Interestingly enough, if no window is open, both @w and @z will
  1126. * scroll similar to ^w and ^z macros above except 2 lines will be
  1127. * scrolled instead of one. For this reason I have replaced ScrollUp and
  1128. * ScrollDn in QCONFIG.DAT with macros @w and @z, 2 macros doing 4
  1129. * tasks - and also less keystrokes for scrolling!
  1130.  
  1131. * 
  1132. * ------------------------------------------------
  1133. * @(w) Scroll two windows up in sync
  1134. * ------------------------------------------------
  1135. @w macrobegin
  1136.         scrollup cursorup nextwindow
  1137.         scrollup cursorup prevwindow
  1138. * 10 bytes Fri  02-22-1991  16:52:31
  1139.  
  1140. * 
  1141. * ------------------------------------------------
  1142. * @(z) Scroll two windows down in sync
  1143. * ------------------------------------------------
  1144. @z macrobegin
  1145.         scrolldown cursordown nextwindow
  1146.         scrolldown cursordown prevwindow
  1147. * 10 bytes F=i  02-22-1991  16:52:39
  1148.  
  1149. * ==============================================================================
  1150. * Date: 08-18-90 (21:28)           Number: 2724      Semware - Qedit Suppor
  1151. *   To: JACK LAUFER                Refer#: NONE
  1152. * From: KARL BRENDEL                 Read: YES
  1153. * Subj: Qedit Enhancements           Conf: (21) ILink
  1154. * ------------------------------------------------------------------------
  1155. * JL>I've been a registered Qedit user for some time now and very much
  1156. * JL>appreciate the quality of the program and your support. One
  1157. * JL>enhancement which I would very much like to see -- and one of only a
  1158. * JL>few Brief editor features that I sorely miss -- is the ability split
  1159. * JL>windows vertically.  This would be very helpful when working with
  1160. * JL>(e.g., comparing) mailing lists, simple program code, etc.
  1161. *
  1162. * I understand your desire, Jack. Much of what you want to do, however,
  1163. * can be helped by using these or similar macro assignments:
  1164. *
  1165. * @w macrobegin scrollup nextwindow scrollup prevwindow
  1166. *
  1167. * @z macrobegin scrolldown nextwindow scrolldown prevwindow
  1168. *
  1169. * These two macros scroll adjacent horizontal windows up or down in
  1170. * sync. Thus, you can open two windows, load your two files of
  1171. * interest, one in each window, "manually" bring two corresponding
  1172. * lines to the middle of the screen (or top/bottom of the two windows),
  1173. * then use these macros to scroll up and down within the two files
  1174. * together. Since corresponding lines will always be adjacent across
  1175. * the status line, it's easy to spot things that don't match up between
  1176. * the files.
  1177. *                            
  1178. * Is this clear? If not, assign these macros, bring up QEdit on one
  1179. * file, open a second window, bring up the second file, then just play
  1180. * with the macros for a while.
  1181. * ---
  1182. *  * InterLink: The Right Place(tm) * Atlanta, GA * (404) 476-2607
  1183.  
  1184. * (Version) History:
  1185. *
  1186. *  1.0 - Initial version named SORT10.ZIP
  1187. *  1.1 - changed and shortened Alt-f3 to keep extraneous files
  1188. *        from ring
  1189. *      - Changed file names from SORTxx.xxx to FILExx.xxx.
  1190. *  1.2 - DX Directory Extended not included to save download time.
  1191. *  1.2a- Changed other file names in series, this is an update.
  1192. *  1.3 - Added @4 to load files from PickList, wild cards OK.
  1193. *      - Changed j:$ to c:! in macros and batch file.
  1194. *      - Changed .QL and .LST files.
  1195. *      - Changed key assignments from alternate_functions
  1196. *        to alternate_numbers.
  1197. *      - All macros shortened.
  1198. *  1.4 - FILE-DX.BAT was not saving "echo .." initialization; corrected.
  1199. *      - Modified macros @1-4 so Insert does NOT have to be ON.
  1200. *      - Added AltWordSet to @1-4 to get all files.
  1201. *      - Removed need to use scratch buffers in @3.
  1202. *      - Added @5 to LOAD a file whose name is at the cursor.
  1203. *      - Added @6 to execute Dos Commands From List.
  1204. *      - Added @7 to EXECUTE DOS commands from List
  1205. *        with CurrentFileName.
  1206. *      - Added @8 to read macfile of txtfile that is loaded.
  1207. *      - Added ^3 to save Read-Only files.
  1208. *      - Added ^1 and ^2 to save files with date-time name.
  1209. *      - Modified @1-4 and batch files to exclude directories in file
  1210. *        list and PickList.
  1211. *      - Removed check to quit c:! if already loaded in @1-4.
  1212. *      - Changed @4 to use only PICK.BAT.
  1213. *  1.5 - Added @9 to select file to edit from RingList
  1214. *      - Added @0 to select file to edit from RingList if new files have
  1215. *        been loaded since making last RingList
  1216. *      - Added @h to FIND items or macros in Index.
  1217. *      - Added @q to QUIT all files in ring.
  1218. *  1.6 - Added @6 to re-LOAD current file from disk copy.
  1219. *      - Modified @9 and @0 to be faster and shorter.
  1220. *      - Modified @F2 for correct extension Oct-Dec.
  1221. *      - Changed @F1 thru @F5 key assignments.
  1222. *  1.7 - Added @F6 to turn "DIR" command into a "8.3" list of filenames,
  1223. *        written by  T. Farley of SemWare.
  1224. *      - Added @F7 and @F8 to read and load txtfiles and macfiles from
  1225. *        a prepared list of active txtfiles and macfiles.
  1226. *      - Modified @F2 for Oct-Dec and added alternate version
  1227. *        for Jan-Sept.
  1228. *      - DOS.LST was inadvertantly left out of versions since 1.4.
  1229. *        It is now included.
  1230. *  1.8 - Modified @F6 for DOS Ver 3.3, other Dos versions not tested.
  1231. *      - Modified documentation and added START.BAT.
  1232. *      - Added @z to load all files in "Ring" buffer.
  1233. *      - Modified @F2 for Jan-Sep and added alternate version
  1234. *        for Oct-Dec.
  1235. *  1.9 - Added @F to execute programs requiring filename without full
  1236. *        path name.
  1237. *      - Corrected @h Index Use instructions.
  1238. *      - Shortened @F3 2 bytes.
  1239. *  2.0 - Added #F3 & #F4 to spell check with ShareSpell.
  1240. *      - Added #F5 & #F6 to save files without making backups.
  1241. *      - Added #F7 & #F8 to delete and edit CurrentFileName Backup.
  1242. *      - Modified @F1 to handle file names with no extension.
  1243. *      - Changed @F3 in "B" to "LB" to search for dot only in block.
  1244. *      - From @F4 removed second return to not pause after executing.
  1245. *        DOS command.
  1246. *      - Modified @F6 to handle multiple runs correctly.
  1247. *      - Changed $$$.TMP to C:! in @F6, shortened 16 bytes.
  1248. *      - Change @z key to @7.
  1249. *  2.1 - Added @PgUp and @PgDn for modified "Page Up and Page Down".
  1250. *      - Added @w and @z to scroll two windows up/down in sync.
  1251. *      - Added ^w and ^z to scroll up/down so cursor bar stays fixed.
  1252. *      - Removed unnecessary lines and shortened #F4,6,7,8.
  1253. *  2.2 - Changed DelLine 6 ot 4 in @f6 to eliminate deletion of
  1254. *        top 2 files in DIR list.
  1255. *  2.3 - Added ^1 and ^2 to position cursor in column at top of
  1256. *        paragraph.
  1257. *      - Added ^3  to position cursor in column at bottom of paragraph
  1258. *      - Added ^4 to put colon in front of "rem" lines for faster
  1259. *        batch file operation.
  1260. *  2.4 - Added @o  Alternate ChangeFileName, CurrentFileName in prompt
  1261. *        box.
  1262. *      - Changed control_numeric keys to control_function keys.
  1263. *                old     new
  1264. *                ^1      ^F1
  1265. *                ^2      ^F2
  1266. *                ^3      ^F3
  1267. *      - Changed @f to pause for DOS command
  1268. *      - Moved ^4 to COMTxx.
  1269. *  2.4a- Corrected description of @F7 and @F8.
  1270. *  2.5 - Changed file name in @7, @9 and @0 from ! to NUL - faster.
  1271. *      - Made @F6 faster.
  1272. *      - Moved @F6 DIR list macro to RINGxx.QM.
  1273. *  2.5a- Minor documentation changes.
  1274. *
  1275. *
  1276.